package com.pap.msg.dto;

import com.pap.base.entity.PapBaseEntity;
import com.pap.base.mybatis.plugin.annotation.MyBatisColumnAnnotation;
import com.pap.base.mybatis.plugin.annotation.MyBatisTableAnnotation;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

@ApiModel(description = "消息内容实体")
public class MsgContentDTO extends PapBaseEntity implements Serializable {
    /**
     *  消息编号,所属表字段为t_msg_content.MSG_CONTENT_ID
     */
    @MyBatisColumnAnnotation(name = "MSG_CONTENT_ID", value = "t_msg_content_MSG_CONTENT_ID", chineseNote = "消息编号", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息编号")
    private String msgContentId;

    /**
     *  消息标题,所属表字段为t_msg_content.MSG_CONTENT_TITLE
     */
    @MyBatisColumnAnnotation(name = "MSG_CONTENT_TITLE", value = "t_msg_content_MSG_CONTENT_TITLE", chineseNote = "消息标题", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息标题")
    private String msgContentTitle;

    /**
     *  消息正文,所属表字段为t_msg_content.MSG_CONTENT
     */
    @MyBatisColumnAnnotation(name = "MSG_CONTENT", value = "t_msg_content_MSG_CONTENT", chineseNote = "消息正文", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息正文")
    private String msgContent;

    /**
     *  消息类型:S系统消息;U:用户消息,所属表字段为t_msg_content.MSG_CONTENT_TYPE
     */
    @MyBatisColumnAnnotation(name = "MSG_CONTENT_TYPE", value = "t_msg_content_MSG_CONTENT_TYPE", chineseNote = "消息类型:S系统消息;U:用户消息", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息类型:S系统消息;U:用户消息")
    private String msgContentType;

    /**
     *  消息状态:C草稿/P已发送,所属表字段为t_msg_content.MSG_STATUS
     */
    @MyBatisColumnAnnotation(name = "MSG_STATUS", value = "t_msg_content_MSG_STATUS", chineseNote = "消息状态:C草稿/P已发送", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息状态:C草稿/P已发送")
    private String msgStatus;

    /**
     *  消息关联请求地址,所属表字段为t_msg_content.MSG_URL
     */
    @MyBatisColumnAnnotation(name = "MSG_URL", value = "t_msg_content_MSG_URL", chineseNote = "消息关联请求地址", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "消息关联请求地址")
    private String msgUrl;

    /**
     *  删除状态标识	,所属表字段为t_msg_content.DELETE_FLAG
     */
    @MyBatisColumnAnnotation(name = "DELETE_FLAG", value = "t_msg_content_DELETE_FLAG", chineseNote = "删除状态标识	", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "删除状态标识	")
    private String deleteFlag;

    /**
     *  备注,所属表字段为t_msg_content.REMARK
     */
    @MyBatisColumnAnnotation(name = "REMARK", value = "t_msg_content_REMARK", chineseNote = "备注", tableAlias = "t_msg_content")
    @ApiModelProperty(value = "备注")
    private String remark;

    @Override
    public String getDynamicTableName() {
        return "t_msg_content";
    }

    private static final long serialVersionUID = 1L;

    public String getMsgContentId() {
        return msgContentId;
    }

    public void setMsgContentId(String msgContentId) {
        this.msgContentId = msgContentId;
    }

    public String getMsgContentTitle() {
        return msgContentTitle;
    }

    public void setMsgContentTitle(String msgContentTitle) {
        this.msgContentTitle = msgContentTitle;
    }

    public String getMsgContent() {
        return msgContent;
    }

    public void setMsgContent(String msgContent) {
        this.msgContent = msgContent;
    }

    public String getMsgContentType() {
        return msgContentType;
    }

    public void setMsgContentType(String msgContentType) {
        this.msgContentType = msgContentType;
    }

    public String getMsgStatus() {
        return msgStatus;
    }

    public void setMsgStatus(String msgStatus) {
        this.msgStatus = msgStatus;
    }

    public String getMsgUrl() {
        return msgUrl;
    }

    public void setMsgUrl(String msgUrl) {
        this.msgUrl = msgUrl;
    }

    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", msgContentId=").append(msgContentId);
        sb.append(", msgContentTitle=").append(msgContentTitle);
        sb.append(", msgContent=").append(msgContent);
        sb.append(", msgContentType=").append(msgContentType);
        sb.append(", msgStatus=").append(msgStatus);
        sb.append(", msgUrl=").append(msgUrl);
        sb.append(", deleteFlag=").append(deleteFlag);
        sb.append(", remark=").append(remark);
        sb.append("]");
        return sb.toString();
    }
}